@import url('./assets/fonts/stylesheet.css');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap');

:root {
  font-family: 'Inter', system-ui, Avenir, Helvetica, Arial, sans-serif;
  line-height: 1.5;
  font-weight: 400;

  color-scheme: light dark;
  color: rgba(255, 255, 255, 0.87);
  background-color: #242424;

  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Canvas-specific font rendering optimizations */
canvas {
  -webkit-font-smoothing: none;
  -moz-osx-font-smoothing: unset;
  font-smooth: never;
  text-rendering: geometricPrecision;
}


@font-face {
  font-family: 'MinSans';
  src: url('./assets/fonts/MinSansTrial-Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: 'MinSans';
  src: url('./assets/fonts/MinSansTrial-Bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: 'MinSans';
  src: url('./assets/fonts/MinSansTrial-Medium.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: 'MinSans';
  src: url('./assets/fonts/MinSansTrial-Thin.otf') format('opentype');
  font-weight: 100;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: 'MinSans';
  src: url('./assets/fonts/MinSansTrial-Light.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: 'MinSans';
  src: url('./assets/fonts/MinSansTrial-Black.otf') format('opentype');
  font-weight: 900;
  font-style: italic;
  font-display: block;
}

@font-face {
  font-family: 'MinSans';
  src: url('./assets/fonts/MinSansTrial-Heavy.otf') format('opentype');
  font-weight: 800;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: 'Paragraf';
  src: url('./assets/fonts/Paragrafv0.2Trial-Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: 'Paragraf';
  src: url('./assets/fonts/Paragrafv0.2Trial-Bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: 'Paragraf';
  src: url('./assets/fonts/Paragrafv0.2Trial-Medium.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: 'Paragraf';
  src: url('./assets/fonts/Paragrafv0.2Trial-Thin.otf') format('opentype');
  font-weight: 100;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: 'Paragraf';
  src: url('./assets/fonts/Paragrafv0.2Trial-Light.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: 'Paragraf';
  src: url('./assets/fonts/Paragrafv0.2Trial-Black.otf') format('opentype');
  font-weight: 900;
  font-style: italic;
  font-display: block;
}

@font-face {
  font-family: 'Paragraf';
  src: url('./assets/fonts/Paragrafv0.2Trial-Heavy.otf') format('opentype');
  font-weight: 800;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: 'Sarasa Mono SC';
  src: url('./assets/fonts/SarasaMonoSC-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: 'Sarasa Mono SC';
  src: url('./assets/fonts/SarasaMonoSC-Italic.ttf') format('truetype');
  font-weight: 400;
  font-style: italic;
  font-display: block;
}

@font-face {
  font-family: 'Sarasa Mono SC';
  src: url('./assets/fonts/SarasaMonoSC-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: 'Sarasa Mono SC';
  src: url('./assets/fonts/SarasaMonoSC-BoldItalic.ttf') format('truetype');
  font-weight: 700;
  font-style: italic;
  font-display: block;
}

@font-face {
  font-family: 'TheSansMonoCond';
  src: url('./assets/fonts/TheSansMonoCd-W4.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: 'TheSansMonoCond';
  src: url('./assets/fonts/TheSansMonoCd-W8.otf') format('opentype');
  font-weight: bold;
  font-style: normal;
  font-display: block;
}

/* Serif Fonts */
@font-face {
  font-family: 'serif';
  src: url('./assets/fonts/LibertinusSerif-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: 'serif';
  src: url('./assets/fonts/LibertinusSerif-Italic.ttf') format('truetype');
  font-weight: 400;
  font-style: italic;
  font-display: block;
}

@font-face {
  font-family: 'serif';
  src: url('./assets/fonts/LibertinusSerif-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: block;
}

/* Sans Serif Fonts */
@font-face {
  font-family: 'sans';
  src: url('./assets/fonts/LibertinusSans-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: 'sans';
  src: url('./assets/fonts/LibertinusSans-Italic.ttf') format('truetype');
  font-weight: 400;
  font-style: italic;
  font-display: block;
}

@font-face {
  font-family: 'sans';
  src: url('./assets/fonts/LibertinusSans-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: block;
}

/* Monospace Fonts */
@font-face {
  font-family: 'mono';
  src: url('./assets/fonts/TheSansMonoCd-Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: 'mono';
  src: url('./assets/fonts/TheSansMonoCd-Italic.otf') format('opentype');
  font-weight: 400;
  font-style: italic;
  font-display: block;
}

@font-face {
  font-family: 'mono';
  src: url('./assets/fonts/TheSansMonoCd-Bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: block;
}

a {
  font-weight: 500;
  color: #646cff;
  text-decoration: inherit;
}
a:hover {
  color: #535bf2;
}

body {
  margin: 0;
  display: flex;
  place-items: center;
  min-width: 320px;
  min-height: 100vh;
}

h1 {
  font-size: 3.2em;
  line-height: 1.1;
}

button {
  border-radius: 8px;
  border: 1px solid transparent;
  padding: 0.6em 1.2em;
  font-size: 1em;
  font-weight: 500;
  font-family: inherit;
  background-color: #1a1a1a;
  cursor: pointer;
  transition: border-color 0.25s;
}
button:hover {
  border-color: #646cff;
}
button:focus,
button:focus-visible {
  outline: 4px auto -webkit-focus-ring-color;
}

@media (prefers-color-scheme: light) {
  :root {
    color: #213547;
    background-color: #ffffff;
  }
  a:hover {
    color: #747bff;
  }
  button {
    background-color: #f9f9f9;
  }
}
